home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
bavarian
/
121-130
/
123_d_m_e
/
dme_deutsch
/
anleitung
next >
Wrap
Text File
|
1993-11-04
|
49KB
|
878 lines
Anleitung zu DME :
KURZBESCHREIBUNG
DME ist ein komfortabler Texteditor. Er wurde von Matt Dillon geschrieben,
der auch alle Copyrights auf dieses Programm besitzt ( ich hoffe, damit habe
ich allen Pflichten genüge getan ).
Zur Zeit ist die Version 1.30 erhältlich auf der FISH-Disk 153. Das Programm
ist reine Public Domain, also keine SHAREWARE. Es werden einige Hilfs-
dateien mitgeliefert, die ich später noch erläutern werde. Außerdem ist
eine ausführliche Beschreibung dabei, allerdings in Englisch. Die Sourcecode-
Files sind beim Autor erhältlich. Falls Unklarheiten bestehen, sollte
entweder unter der folgenden Adresse nachgefragt werden oder das Original-
handbuch konsultiert werden.
Die deutsche Beschreibung von DME stammt von PETER FISCHER, RP-EBERT-STR. 6,
3257 SPRINGE 1 und wurde für das Diskettenmagazin GetIt angefertigt. Sie kann
beliebig kopiert werden, solange die Adresse in diesem Text verbleibt und
mit kopiert wird. Dies ist KEINE Übersetzung des Originals DME.DOC. Für
eventuelle Fehler und daraus resultierenden Folgen wird keine Haftung
übernommen.
Dieses Handbuch wurde für den Anfänger geschrieben. Daher möchte ich die
PD-Profis bitten, einige besonders ausschweifende Textstellen mit einer
Erinnerung an ihre Anfänge zu überlesen. Die Anfänger möchte ich bitten,
besonders unverständliche Textpassagen zwei- bis dreimal zu lesen, bevor
ihr mir dann zornerfüllt schreibt. Habt keine Angst, etwas auszuprobieren.
Nur so lernt man mit dem Rechner und den Programmen umzugehen. Aber bitte,
denkt dran : ERST eine Sicherungskopie ziehen und NICHT an einem wichtigen
Dokument rumwurschteln, wenn es noch nicht abgespeichert ist.
MÖGLICHKEITEN
Im Gegensatz zu ED, dem AmigaDOS-Editor, ist DME ein leicht lernbarer,
komfortabel zu bedienender Editor. Er besitzt eine einfache Möglichkeit
der Anpassung auf individuelle Wünsche. Eine etwas ausgefallene Art der
Makroprogrammierung ist der Clou.
ANFANG
DME wird vom CLI mit
> DME filename
aufgerufen, wobei filename der zu editierende File ist. Von der Workbench
muß zuerst der Textfile angeklickt werden, und, während man SHIFT gedrückt
hält, das ICON von DME. Man kann natürlich auch DME als TOOL im INFO-File
angeben. Falls DME von der Workbench aufgerufen wurde, so wird ein ICON
mit dem Text abgespeichert.
Wenn man den Filenamen des zu bearbeitenden Textfiles fortläßt, wird zuerst
ein Text ohne Namen produziert, der später abgespeichert werden kann.
Im folgenden werden einige Abkürzungen für Tastennamen benutzt. Dabei steht
1)
SH oder s- für eine der beiden SHIFT-Tasten,
CRTL oder c- für eine der beiden CONTROL-Tasten ( die mit dem Pfeil
nach oben ),
ALT oder a- für eine der beiden ALT-Tasten,
AMIGA oder A- für eine der beiden AMIGA-Tasten,
LM oder L- für die linke Maustaste,
RM oder R- für die rechte Maustaste,
2)
RET für die RETURN-Taste,
ENTER für die ENTER-Taste des Nummernblocks,
Fx für die Funktionstaste mit der Nummer x,
BS für die BACKSPACE-Taste ( die mit dem Pfeil nach links
im Hauptteil der Tastatur ),
DEL für die DELETE-Taste,
HELP für die HELP-Taste,
TAB für den Tabulator,
CL für CAPS LOCK,
ESC für die ESC-Taste,
UP für die CURSOR-Steuerungstaste nach oben,
DOWN für die CURSOR-Steuerungstaste nach unten,
LEFT für die CURSOR-Steuerungstaste nach links,
RIGHT für die CURSOR-Steuerungstaste nach rechts,
BLANK für ein Leerzeichen,
nkx für die Tasten x des Nummernblocks außer ENTER,[,].
Die Tasten der Gruppe 1) werden als QUALIFIERS bezeichnet.
TEXTEINGABE
Als erstes erscheint nach dem Aufruf von DME ein Fenster. In diesem Fenster
wird im folgenden der Text eingegeben. Hier wird auch eine sehr schöne
Eigenschaft von DME sichtbar : Der Editor besitzt alle Gadgets, die zum
Arbeiten auf dem AMIGA notwendig sind. Da ist links oben das CLOSEGADGET
( ich erspare mir die deutschen Übersetzungen, SCHLIESSKNOPF hört sich
einfach nicht gut an ), mit dem der Editor ohne Abspeichern des Textes
verlassen werden kann. Die Titelzeile, in der meist aktuelle und maximale
Zeile sowie aktuell Spalte, der Filename sowie einige weitere Mitteilungen
stehen, wird auch als DRAGGADGET zum Verschieben des Windows benutzt. Rechts
oben in der Titelzeile sind noch die beiden Geschwister BACK- und FRONTGADGET
untergebracht, mit der das DME-Fenster hinter andere Fenster gebracht werden
kann bzw wieder nach vorne geholt wird. Unten rechts ist das SIZEGADGET, mit
der DME auf die notwendig Größe verkleinert oder vergrößert werden kann.
Alternativ werden in der Titelzeile des öfteren auch Fehlermeldungen
auftauchen.
DME kann also allen beliebigen Konfigurationen angepaßt werden. Ob dies
PAL- oder NTSC-Bildschirm, HIGHRES, LOWRES oder gar INTERLACE ist, DME wird
einfach entsprechend vergrößert, wie man dies von allen Fenstern gewöhnt ist.
( Im folgenden werde ich statt WINDOWS den Begriff FENSTER und statt SCREEN
den Begriff BILDSCHIRM benutzen. )
Ein Beispiel für eine Titelzeile lautet :
101/860 10 dme.doc (modified)
Die 101 steht für die Zeile, in der sich gerade der Cursor befindet. Die 860
gibt die Zahl der Zeilen an, die sich im Moment im Speicher befinden. Die
folgende 10 zeigt die Spalte des Cursors. dme.doc ist der Name der Datei.
(modified) bedeutet, daß der Text bereits modifiziert wurde und gespeichert
werden sollte, bevor man den Editor verläßt.
In die Titelzeile werden auch die Fehlermeldungen sowie zu Beginn einer
Sitzung der Name des Autors und die Copyright-Meldung ausgegeben. Diese
verschwindet aber sofort nach Eingabe einer Zeile.
BESONDERHEITEN
Solange DME noch nicht gemäß den eigenen Vorstellungen umgestaltet worden
ist, gibt es eine Kleinigkeit, die am Anfang leicht störend wirken kann.
Beim Drücken der rechten Maustaste erscheint nämlich nicht wie gewohnt ein
MENU, sondern das Fenster von DME macht sich ganz klein und verschwindet in
der linken oberen Ecke des Bildschirms. Es wird nur noch der Filename sowie
das CLOSEGADGET angezeigt. Man nennt diese kleine Darstellung, in der das
Fenster inaktiv ist, ICON ( deutsch : Abbild, Ikone ). Es wird zur
Speicherplatzersparnis verwendet, wenn man neben DME noch weitere Prozesse
laufen hat und den Editor nicht immer neu starten möchte. Denkbar ist zum
Beispiel, daß man als Programmierer DME mit dem Quelltext des Programmes
einmal aufruft. Nachdem man seine Änderungen eingefügt hat, wird das Programm
abgespeichert und das DME- Fenster ICONIFIZIERT ( auch hier benutze ich
dieses englische Wort als deutsches Verb. Deutsch-Puristen mögen mir
verzeihen, die Alternativen sind mir zu umständlich. ), soll heißen, zu
einem ICON gemacht. Dann wird das Programm übersetzt. Falls Fehler
auftauchen, braucht der Editor mit dem Programmtext nicht neu geladen werden,
sondern es wird einfach das ICON wieder aktiviert.
Die ICONS werden aktiviert, indem man mit dem Mauszeiger auf das ICON zeigt
und erst die linke und dann die rechte Maustaste drückt. ( VORSICHT : Bei
anderen Programmen, die ICONS benutzen, ist dies ausschließlich die linke
Maustaste !! ) Aber Vorsicht : Es sollten einige KBytes Speicher übrig sein,
da sonst DME beim Aktivieren unseren Freund, den GURU hervorlockt !
DME hat eine Sondertaste, die für die Befehlseingabe eine wesentliche Rolle
spielt : die ESC-Taste. Wenn man diese Taste drückt, erscheint am unteren
Rand des DME-Fensters eine Zeile, die durch eine waagerechte Linie vom
eingegebenen Text abgetrennt ist. Diese Zeile kann eine Zeile des bereits
geschriebenen Textes überdecken, jedoch erscheint dieser nach Abschluß des
Befehls wieder, wenn die Befehlszeile verschwindet. Eine Beschreibung
der Befehle folgt in Kürze.
Die schönste Eigenschaft DMEs ist wie schon erwähnt, daß dieser Editor an
individuelle Wünsche angepasst werden kann. Dazu kann
- jede Taste nach eigenem Gutdünken mit einer Folge von DME-Befehlen belegt
werden ( und hier ist wirklich JEDE Taste gemeint ), sogar die Maustasten
können hier eingebunden werden,
- ein eigenes MENU aufgebaut werden (!!!!),
- die Belegungen in einer Datei abgespeichert werden, die DME vor Beginn
einer Sitzung automatisch lädt.
BEFEHLE
DME hat einen reichen Vorrat an Befehlen. Um einen Befehl und die eventuell
dazugehörigen Parameter einzugeben, wird die ESC-Taste wie oben beschrieben
benutzt. Falls man versehentlich die ESC-Taste drückt und keinen Befehl
geben will oder die Befehlseingabe abbrechen möchte, so läßt ein weiterer
Druck auf die ESC-Taste die Befehlseingabezeile wieder verschwinden. Jeder
Befehl wird mit RET abgeschlossen
Der prinzipielle Aufbau eines DME-Befehls lautet wie folgt :
befehl arg1 arg2 ....
befehl ist hierbei der Befehlsname, arg1, arg2, ... sind die notwendigen
Argumente. Falls in einem Argument ein Leerzeichen vorkommt, so muß das
Argument in den Anführungszeichen ` ' geschrieben werden. Dabei ist es sehr
wichtig, daß am Anfang wirklich ein ` ( auf der deutschen AMIGA-Tastatur
links oben ) und am Ende ein ' ( auf der deutschen AMIGA-Tastatur mit ALT-Ä
zu erreichen ) steht. Beispielsweise sieht ein Befehl zum Ersetzen einer
Zeichenkette so aus :
FIND `Dies ist' `Das ist'
Falls ein Text in eine Tastenkombination eingebunden werden soll, der später
im zu editierenden Text stehen soll, so muß dieser in runden Klammern ()
gesetzt werden. Steuerzeichen können so über (^.) eingebunden werden,
wobei . das Zeichen ist, das für das Steuerzeichen steht. Z.B. wird CRTL-L
mit ESC (^L) RET eingebunden.
Es folgt nun eine kurze Beschreibung aller Befehle. Auf die Besonderheiten
der Befehle wird später eingegangen.
Liste der Befehle :
(text) Fügt den Text text ein.
taste Führt den/die Befehle aus, die unter dieser
Taste gespeichert sind.
menu-punkt Ein Menupunkt wird ausgeführt.
ARPLOAD Ein Filerequestor für das Laden eines Files
wird aufgebaut, nur wenn ARP.LIBRARY vorhanden s.u.
ARPSAVE Ein Filerequestor für das Speichern eines Files
wird aufgebaut, nur wenn ARP.LIBRARY vorhanden s.u.
BACK Befehl für BS.
BACKTAB Eine Tabulatorstelle nach hinten.
BCOPY Kopiert einen Block.
BDELETE Löscht einen Block.
BLOCK Markiert Blockanfang und Blockende, s.u.
BMOVE Ein Block wird veschoben.
BOTTOM Setzt den CURSOR auf das Ende des Textes.
BS Befehl für BS, löscht Zeichen links vom CURSOR.
BSAVE file Speichert einen Block unter dem Namen file.
BSOURCE s.u.
CHFILENAME name Ändert den aktuellen Filenamen in name.
DEL Befehl für DEL.
DELINE Löscht eine Zeile.
DOWN Setzt den CURSOR eine Zeile tiefer.
DOWNADD Wie DOWN, nur falls am Ende des Textes angelangt,
so wird eine Zeile hinzugefügt.
ESC s.o.
ESCIMM arg Die Befehlszeile wird geöffnet und das Argument arg
an die erste Stelle geschrieben, so daß eine Befehls-
eingabe erfolgen kann.
EXECUTE comm Das DOS-Kommando comm wird ausgeführt und auf das
Fenster geschrieben, von dem DME aufgerufen wurde.
FIND string Sucht nach dem erstmaligen Auftreten von string.
FINDR s1 s2 Sucht nach dem erstmaligen Auftreten von s1 und
ersetzt dies durch s2.
FINDSTR string Setzt eine Buchstabenkette, nach der gesucht werden
soll. ( siehe auch NEXT )
FIRST Setzt den CURSOR in Spalte 1.
FIRSTNB Setzt den CURSOR auf das erste Zeichen in der Zeile,
in der kein BLANK steht.
GOTO BLOCK Geht an den Anfang des markierten Blocks.
GOTO START Wie GOTO BLOCK.
GOTO END Geht an das Ende des markierten Blocks.
GOTO [+/-]N Geht in die relative [+/-] bzw absolute Zeile N.
HEIGHT N Setzt für alle folgenden Fenster die Größe N als
Fenstergröße fest. N wird in PIXELN angeben.
ICONIFY Läßt das Fenster von DME zu einem ICON schrumpfen s.o.
IF cnd act Bedingte Abfrage s.u.
IFELSE cnd ifact elseact
Bedingte Abfrage mit alternativer Möglichkeit s.u.
IGNORECASE what Stellt ein, ob bei Suche Klein-/Großschreibung
ignoriert wird. Dabei ist what=ON für ignorieren,
=OFF für nicht ignorieren, =TOGGLE für umschalten.
INSERTMODE what Stellt ein, ob neu eingegebene Zeichen eingefügt
werden oder die alten überschreiben werden sollen.
what=ON : einfügen, what=OFF : überschreiben,
what=TOGGLE : umschalten.
INSFILE name Die Datei name wird eingefügt.
INSLINE Eine Zeile wird eingefügt.
JOIN Die nächste Zeile wird an aktuelle Zeile anfügt.
LAST Geht auf die letzte Spalte der aktuellen Zeile.
LEFT Bewegt den Cursor eine Spalte nach links.
LEFTEDGE N Setzt die linke Ecke für jedes weitere Fenster auf
N PIXEL fest.
MAP key map Der Buchstabe key erhält die Definition map, s.u.
MARGIN N Der rechte Rand wird auf N Spalten eingestellt, für
WORDWRAP und REFORMAT.
MENUADD hdr item cmd \
MENUDEL hdr item \
MENUDELHDR hdr \ Menubefehle s.u.
MENUCLEAR /
MENUON /
MENUOFF /
NEWFILE name Neuer File name wird bearbeitet.
NEWWINDOW Ein weiteres DME-Fenster wird geöffnet.
NEXT Das nächste Auftreten des Suchstrings wird gesucht.
NEXTR Das nächste Auftreten des Suchstrings wird gesucht
und durch den Ersatzstring ersetzt.
PAGEDOWN Eine Seite nach unten, s. PAGESET
PAGESET n Gibt in Prozent n an, um wieviele Zeilen der
Bildschirm bei PAGEUP und PAGEDOWN verschoben wird.
PAGEUP Eine Seite nach oben, s. PAGESET
PING n Setzt eine Textmarkierung, n zwischen 0 und 9.
PONG n Sucht eine Textmarkierung, n zwischen 0 und 9.
PREV Sucht vorheriges Auftreten des Suchstrings.
PREVR Sucht vorheriges Auftreten des Suchstrings und
ersetzt diesen durch Ersatzstring.
PUSHMARK Schiebt den aktuellen Block auf einen Stack und
läßt Markierung verschwinden.
POPMARK Holt einen Block vom Stack und markiert den Block.
SWAPMARK Schiebt aktuellen Block auf Stack, vertauscht die
oberen beiden Stackeinträge und holt den obersten
Block vom Stack.
PURGEMARK Löscht den Stack.
QUIT Verläßt den Editor, ohne Anderungen abzuspeichern !
RECALL Holt das letzte Kommando zurück. Muß als c-ESC von
der Tastatur eingeben werden.
REF s.u.
REFORMAT Formatiert den nächsten Absatz innerhalb der ersten
Spalte und der durch MARGIN festgesetzten. Ende des
Paragraphen : Leerzeile oder Blank in erster Spalte.
REMEOL Löscht bis Ende der Zeile.
REPEAT cnt comm s.u.
REPSTR string Setzt den Ersatzstring mit string.
RESETTOGGLE N Schaltet die Boolsche Variable N aus, N zwischen
0 und 31.
RESIZE cols rows Das aktuelle Fenster wird auf die Größe cols Zeilen
und rows Spalten eingestellt.
RETURN Zeilenanfang nächste Zeile und neue Zeile einfügen.
RIGHT Setzt den Cursor eine Spalte nach rechts.
RX ARexx-Macro aufrufen, s.u.
RX1 ARexx-Macro mit einem Argument aufrufen, s.u.
RX2 ARexx-Macro mit zwei Argumenten aufrufen, s.u.
SAVEAS file Speichert aktuellen Text unter dem Namen file. Der
Name des Textes bleibt ungeändert.
SAVEMAP file Speichert die aktuelle Belegung der Tasten durch den
User unter dem Namen file.
SAVEOLD Speichert aktuellen Text unter dem aktuellen Namen.
SAVESMAP file Speichert alle aktuellen Belegungen der Tasten unter
dem Namen file.
SAVETABS on/off Falls on gewählt wird, so werden beim Abspeichern
die Tabs als ein Zeichen gespeichert, bei off werden
entsprechend viele Blanks gespeichert. Voreingestellt
ist off.
SCANF ctlstr s.u.
SCREENBOTTOM Geht in die Zeile, die auf dem Fenster als unterste
steht.
SCREENTOP Geht in die Zeile, die auf dem Fenster als oberste
steht.
SCROLLUP Schiebt das Fenster und den Cursor um eine Zeile
nach oben.
SCROLLDOWN Schiebt das Fenster und den Cursor um eine Zeile
nach unten.
SETFONT font sz Setzt einen Font font in der Schriftgröße sz.
SETTOGGLE N Setzt die Boolsche Variable N, N zwischen 0 und 31.
SOURCE file s.u.
SPLIT Trennt die Zeile an der Cursor-Position.
TAB Fügt einen Tabulator ein.
TABSTOP N Setzt die Tabs auf N Zeichen.
TLATE [+/-]N s.u.
TOGGLE N Schaltet die Boolsche Variable N um, N
zwischen 0 und 31.
TOMOUSE Bewegt den Cursor auf den Mauszeiger.
TOP Setzt den Cursor an den Anfang des Textes.
TOPEDGE N Setzt die obere Ecke auf N PIXEL für jedes neue
Fenster.
UNBLOCK Die Markierung des aktuellen Blocks wird aufgehoben.
UNMAP key Die Taste key wird von ihrer Belegung befreit.
UP Setzt den Cursor eine Zeile höher.
WHILE cnd act s.u.
WIDTH N Setzt die Breite in N PIXEL für jedes neue Fenster.
WLEFT Setzt den Cursor auf den Anfang des links stehenden
Wortes.
WORDWRAP what Schaltet den automatischen Umbruch am Ende einer
Zeile, eingestellt durch MARGIN, ein oder aus.
what=ON : eingestellt, what=OFF : ausgestellt,
what=TOGGLE : umschalten.
WRIGHT Setzt den Cursor auf den Anfang des rechts stehenden
Wortes.
TASTENBELEGUNG I
Jede Taste der AMIGA-Tastatur kann im DME-Editor mehrfach belegt werden.
Dies geschieht mit dem Befehl MAP. Die Syntax ist
MAP key map
Dabei ist key eine Taste, eventuell stehen vor der Taste ein oder mehrere
Qualifier. Nochmals eine kurze Zusammenfassung der Qualifier :
s für SHIFT,
c für CONTROL,
a für ALT,
A für AMIGA,
L für linke Maustaste,
R für rechte Maustaste,
M für evtl. vorhandene mittlere Maustaste.
Die Qualifier werden durch den eigentlichen Tastencode durch ein Minus -
getrennt. Bei den Buchstaben kann statt dem SHIFT-Qualifier auch der Groß-
buchstabe gewählt werden. Einige Qulifierkombinationen sollten nicht benutzt
werden, wie etwa aA für ALT AMIGA, da diese auch von INTUITION des AmigaDOS
benutzt werden.
map ist eine beliebige syntaktisch richtige Kombination aus den Befehlen,
die DME bietet. Über die mögliche Länge von map schweigt sich leider das
Originalhandbuch aus. Falls ein Befehl mit Argument oder mehr als ein
Befehl benutzt wird muß diese Kombination in einfachen Gänsefüßchen `'
stehen. Dabei ist es wesentlich, daß ` am Anfang steht und ' am Ende.
Einige Bespiele für Tastenbelegungen werden auf der FISH-Disk 153 auf dem
Directory support mitgeliefert. Natürlich sollte sich jeder seine eigenen
Befehle basteln. Ein Beispiel für eine solche Tastaturbelegung wäre
MAP help `newwindow newfile s:.help'
sofern dieser Doc-File auf dem Directory s: unter dem Namen .help
abgespeichert wird, oder
MAP c-b bottom
TASTATURBELEGUNG II
Da es wohl etwas mühsam wäre, die Tastaturbelegungen jedes Mal wieder von
Neuem einzugeben, bietet DME die Möglichkeit, einen STARTUP-File anzulegen.
Dieser File muß entweder auf dem aktuellen Directory oder auf dem
Directory s: stehen und den Namen .edrc besitzen. Optional kann auch beim
Aufruf von DME mit der Option -fname ein File name angegeben werden, so daß
aus dem File name die Tastaturbelegung geladen wird.
Natürlich können in diesem File auch andere Kommandos aufgerufen werden.
Diese werden unmittelbar beim Aufruf ausgeführt.
Es können auch nachträglich derartige Kommandofiles geladen und ausgeführt
werden. Dies geschieht mit dem Befehl SOURCE file. Falls in dem aktuellen
File einige Zeilen Tastaturbelegungen definiert werden, so können diese
mit BLOCK markiert und dann mit BSOURCE ausgeführt werden. Dies ist
beispielsweise in einem Programmtext als Kommentar denkbar.
Es wird eine Tastaturbelegung in DME vordefiniert. Sie lautet :
map a-c `bcopy'
map a-d `bdelete'
map a-down `scrolldown'
map a-l `while cu (tlate +32 right)'
map a-m `bmove'
map a-r `nextr'
map a-s `bsource'
map a-u `while cl (tlate -32 right)'
map a-up `scrollup'
map bs `bs'
map c-/ `escimm (find )'
map c-] `ref'
map c-1 `goto block'
map c-b `block'
map c-c `'
map c-del `remeol'
map c-down `pagedown'
map c-esc `recall'
map c-f `reformat'
map c-g `escimm (goto )'
map c-i `insertmode on'
map c-j `join'
map c-l `wleft'
map c-n `next'
map c-o `insertmode off'
map c-p `prev'
map c-q `quit'
map c-r `wright'
map c-s `split first down'
map c-u `unblock'
map c-up `pageup'
map c-w `wordwrap toggle'
map del `del'
map down `down'
map enter `return'
map esc `esc'
map f1 `escimm (insfile )'
map f2 `escimm (newfile )'
map f3 `escimm (newwindow newfile )'
map f6 `saveold iconify'
map f7 `escimm (bsave )'
map f8 `saveold escimm (newfile )'
map f9 `saveold'
map f10 `saveold quit'
map L-lmb `tomouse'
map L-mmo `tomouse'
map left `left'
map R-rmb `iconify'
map return `return insline up firstnb down'
map right `right'
map `s- ' `( )'
map s-del `deline'
map s-down `bottom'
map s-left `first'
map s-right `last'
map s-tab `backtab'
map s-up `top'
map sa-s `unblock block block bsource'
map tab `tab'
map up `up'
CURSORBEWEGUNG
Um komfortabel einen Text editieren zu können, sollte eine Vielzahl von
Cursorbewegungen möglich sein. Dies ist bei DME geradezu vorbildlich
gelöst.
Vorausgesetzt, die Tasten sind nicht individuell umdefiniert, kann der
Cursor in DME mit folgenden Tasten und Befehlen bewegt werden :
Die Cursor-Tasten sind entsprechend ihren Bedeutungen belegt. Ebenso BS,
DEL, RET und TAB. Durch die Kombination ALT UP bzw ALT DOWN entsprechend
SCROLLUP und SCROLLDOWN wird das Fenster um eine Zeile nach unten bzw nach
oben bewegt, während der Cursor fest bleibt. Mit SHIFT UP bzw SHIFT DOWN
entsprechend TOP bzw BOTTOM wird der Cursor in die erste bzw letzte Zeile
des Textes gesetzt. Mit SCREENTOP bzw SCREENBOTTOM wird der Cursor auf die
erste bzw letzte Zeile des aktuellen Fensters gesetzt. SHIFT TAB geht um
eine Tabulatorstelle zurück und entspricht dem Befehl BACKTAB. Mit dem
Mauszeiger und gedrückter rechter Maustaste kann der Cursor auf eine
beliebige Stelle im Fenster gesetzt werden oder das Fenster nach oben und
unten geschoben werden. Falls eine Zeile zu lang ist, so wird das gesamte
Fenster nach links geschoben.
Eine besondere Befehlskombination bietet der Befehl PAGESET mit den
Befehlen PAGEDOWN und PAGEUP. Mit PAGESET wird in Prozent bestimmt, um
wieviel mit PAGEDOWN und PAGEUP entsprechend eine Seite hoch und eine
Seite runter das Fenster verschiebt. Eine Seite ist in diesem Fall die Menge
an Text, die vertikal in ein Fenster paßt. Im Normalfall bewegt sich der Wert
von PAGESET zwischen 90 und 100 Prozent. Man kann aber beispielsweise mit
PAGESET 50
angeben, daß das Fenster mit PAGEUP nur um eine halbe Seite verschoben wird.
Mit GOTO [+/-]N kann man den Cursor um jeweils N Zeilen nach unten
( GOTO +N ) bzw nach oben ( GOTO -N ) bzw in die Zeile N ( GOTO N ) bewegen.
SUCHEN & ERSETZEN
Dies geschieht in DME durch Angabe eines Suchstrings string durch den Befehl
FINDSTR string. Mit NEXT kann nach unten und mit PREV nach oben gesucht
werden. Optional kann mit FIND string bereits ein Auftreten des Strings
string gesucht werden. FIND entspricht also der Befehlskombination
`FINDSTR string NEXT'. FIND ist in der Standardbelegung von DME auf der
Taste c-/, NEXT auf c-n.
Ersetzen eines Strings s1 durch einen String s2 ist möglich über
1) die Angabe des Suchstrings mit FINDSTR s1,
2) die Angabe des Ersatzstrings mit REPSTR s2,
3) dem Befehl NEXTR bzw PREVR zum Ausführen der Ersatzoperation nach unten
bzw unten jeweils einmal.
Alternativ kann mit dem Befehl FINDR s1 s2 der Suchstring s1 und der
Ersatzstring s2 eingeben und die Ersatzoperation einmal ausgeführt werden.
Falls das Auftreten eines Strings im gesamten Text ersetzt werden soll, so
geschieht dies über die Befehlskombination
`ESCIMM `FINDR ' REPEAT -1 NEXTR'
ausgeführt werden. Falls für die -1 eine Zahl N geschrieben wird, so wird das
Auftreten des Suchstrings maximal N mal durchgeführt.
Da es beim Suchen unter Umständen wichtig sein kann, Groß- und Kleinbuch-
staben zu trennen, in anderen Fällen aber als jeweils einen Buchstaben zu
betrachten, gibt es den Befehl IGNORECASE param. IGNORECASE ON schaltet für
die weiteren Suchvorgänge die Unterscheidung zwischen Groß- und Kleinbuch-
staben ab, IGNORECASE OFF schaltet sie wieder ein.
ZEILENOPERATIONEN
Mit INSLINE kann man an der eine Zeile vor der aktuellen einfügen. Mit
JOIN wird die nächste Zeile an die aktuelle angefügt. DELLINE löscht die
aktuelle Zeile, während REMEOL ab der aktuellen Cursorposition bis zum
Ende der Zeile löscht. SPLIT teilt die Zeile an der aktuellen Cursorposition
und schreibt den Rest in die nächste Zeile.
LADEN & SPEICHERN
Falls man glücklicher Besitzer der ARP.LIBRARY ist, so kann man sehr
bequem Files auswählen : mit einem FILEREQUESTOR. ARP ist die Abkürzung von
AmigaDOS Replacement Project, zu deutsch AmigaDOS Ersatz Projekt. Man kann
gerade bei den AmigaDOS-Befehlen noch einiges verbessern. Dies wurden in
der Reihe ARP getan. Desweiteren wurde eine Library nützlicher Befehle
erstellt, auf die Programme zugreifen können. Unter anderem ist dort auch
ein sehr komfortabler und schneller FILEREQUESTOR implementiert. ARP ist
als PUBLIC DOMAIN auf den RPD 27c und RPD 27d erhältlich.
In DME kann man mittels den Befehlen ARPLOAD und ARPSAVE auf diesen
FILEREQUESTOR zugreifen. Dann kann der File, der geladen oder gespeichert
werden soll, per Maus ausgewählt werden.
Natürlich kann man auch ohne ARP.LIBRARY Dateien laden bzw speichern.
Dies wird durch die Befehle NEWFILE name bzw SAVEAS name erreicht. Man kann
aber auch einen File, der bereits einen Namen hat, mit SAVEOLD abspeichern.
Daneben gibt es noch den Befehl INSFILE name, der die Datei name an der
aktuellen Cursorposition einfügt sowie den File CHFILENAME name, das den
aktuellen Filenamen in name umändert.
BLOCKOPERATIONEN
Dies ist ein Punkt, in dem DME Nachteile gegenüber anderen Editoren hat. Es
ist nämlich nicht möglich, kleinere Einheiten als eine Zeile zu kopieren.
DME setzt prinzipiell einen Blockanfang am Anfang einer Zeile und das
Blockende an das Ende einer Zeile.
Die Markierung eines Blocks wird durch BLOCK oder c-b in der
Standardbelegung erreicht. BLOCK muß am Anfang des Blocks und am Ende des
Blocks je einmal aufgerufen werden. Der Block wird dann in der oben
beschriebenen Weise markiert. Sichtbar wird dies, indem die markierten Zeilen
in einer anderen Farbe geschrieben werden. Bei der Festlegung seiner Farben
in PREFERENCES kann man dort schnell eine angenehme Farbzusammenstellung
erreichen.
Mit dem BLOCK können diverse Operationen durchgeführt werden. Er kann
kopiert werden ( BCOPY oder a-c ), er kann gelöscht werden ( BDELETE oder
a-d ), er kann bewegt werden ( BMOVE oder a-m, entspricht `BCOPY BDELETE' ),
er kann abgespeichert werden ( BSAVE ) oder als Tastaturbelegung abgearbeitet
werden ( BSOURCE oder a-s ).
Die Markierungen können auch auf einem Stack verwaltet werden. Dazu dienen
die Befehle PUSHMARK, POPMARK, SWAPMARK und PURGEMARK. PUSHMARK schiebt ein
Markierungspaar auf den Stack, POPMARK holt sie wieder runter, SWAPMARK
tauscht aktuelle Markierung und oberste Stackmarkierung aus und PURGEMARK
löscht den Stack.
Mit GOTO BLOCK oder GOTO START entsprechend c-l kann man an den Anfang eines
markierten Blocks springen, mit GOTO END an das Ende.
Falls ein Block markiert ist, kann kein zweiter markiert werden. Erst muß
mit UNBLOCK oder c-u die Markierung gelöscht werden.
FENSTERLN
Mit DME ist es möglich, mehrere Files gleichzeitig zu bearbeiten. Dazu muß
man mit NEWWINDOW ein weiteres Fenster aufmachen und mit ARPLOAD oder
NEWFILE den neuen File einladen. Das neue Fenster hat dieselbe Größe wie das
aktuelle. Dies kann störend sein, wenn man zwei Files abhängig voneinander
editieren möchte. Es gibt aber wie schon erwähnt die Möglichkeit, die
Fenstergrößen mit der Maus zu verändern.
Daneben hat man aber auch noch die Kontrolle über die Fenster mit
verschiedenen Befehlen. Man kann das aktuelle Fenster mit RESIZE x y den
gewünschten Maßen anpassen. Dabei werden x und y, anders als bei den im
weiteren erwähnten Befehlen, in Textzeilen x und Textspalten y angegeben.
Diesen Befehl kann man auch in der DME-startup-sequence s:.edrc angeben,
damit das Fenster auf die in der europäischen PAL-Norm übliche Bildschirmhöhe
voll ausgenutzt wird. Mit RESIZE 77 30 bringt man das aktuelle Fenster auf
die maximale Größe.
Mit allen folgenden wird nicht das aktuelle Fenster, sondern nur die in
Zukunft mit NEWWINDOW eröffneten Fenster beeinflußt. Mit HEIGHT N wird die
Bildschirmhöhe bestimmt. Dabei ist N wie alle weiteren Zahlen zur Festlegung
der Fenstergrößen in PIXEL angegeben. Ein PIXEL ist ein Punkt auf dem
Bildschirm. In INTERLACE, dem Flackermodus, hat ein PAL-Bildschirm 512
Pixel vertikal, ansonsten 256 Pixel. Da im Normalfall der INTERLACE-Modus
nicht zu empfehlen ist, gehe ich im folgenden von maximal 256 PIXELN in der
Vertikalen aus. HEIGHT 256 legt also die Höhe des Bildschirms auf volle
PAL-Größe fest. Mit TOPEDGE N kann man bestimmen, in welcher Höhe die neuen
DME-Fenster beginnen sollen. VORSICHT : DME beginnt ein Fenster im Normalfall
in der Höhe 1, läßt also eine PIXELreihe am oberen Rand frei. So kann man
immer noch die GADGETs des Bildschirms erreichen. Dies entfällt, wenn man
TOPEDGE 0 einstellt. Aber nur so kann man HEIGHT 256 festlegen. Der Wert von
HEIGHT plus dem Wert von TOPEDGE darf also 256 nicht überschreiten.
Ähnlich sieht die Situation in der Waagrechten aus. Hier lauten die Befehle
WIDTH N und LEFTEDGE N, ganz entsprechend zum Vertikalen. Da die maximale
Auflösung 640 ist, darf hier der Wert von WIDTH plus dem Wert von LEFTEDGE
nicht 640 überschreiten.
Als besonderes Schmankerl bietet DME die Möglichkeit, die auf dem AMIGA
zur Verfügung stehenden Schriftarten darzustellen. Dies geschieht mit dem
Befehl SETFONT FONT FG, wobei FONT der Name des Fonts ist und FG die
Größe. Dieser FONT muß aber in dem Directory FONTS: vorhanden sein. Die
möglichen Größen eines FONTS mit dem Namen font kann man mit DIR FONTS:font
erfahren.
Als Einschränkung gilt hier, daß keine proportionale FONTS dargestellt
werden können. Dies sind FONTS, deren Abstand der einzelnen Buchstaben von
der Breite der Buchstaben abhängt.
TEXTE FORMATIEREN
DME ist in erster Linie als ein Editor zum Eingeben von einfachen Texten
wie Programmtexten gedacht. Daher kann DME nicht alle Möglichkeiten einer
Textverarbeitung großen Stils bieten. Ein paar rudimentäre Befehle stellen
aber einen gewissen Komfort her.
Als grundlegenster Befehl dient dazu INSERTMODE. Mit INSERTMODE ON legt
man fest, daß neueingegebene Zeichen eingefügt werden, also alle "rechteren"
Zeichen weiter nach rechts geschoben werden. Mit INSERTMODE OFF wird diese
Fähigkeit ausgeschaltet, also werden neu eingegebene Zeichen an die aktuelle
Cursorposition geschrieben und das eventuell daruntergelegene Zeichen
gelöscht. Mit INSERTMODE TOGGLE wird der aktuelle Zustand umgekehrt.
Mit MARGIN N kann man den rechten Rand des Textes festlegen, wobei N in
Textspalten angegeben wird . Mit REFORMAT kann man dann einen Paragraphen
formatieren, so daß dieser genau zwischen dem linken Rand, der immer in der
ersten Textspalte liegt, und dem mit MARGIN eingestellten rechtem Rand paßt.
Ein weiterer Befehl, der das Textaussehen bestimmt, ist WORDWRAP. WORDWRAP
hat ein Argument, daß entweder ON oder OFF oder TOGGLE sein kann. Bei
WORDWRAP ON wird der Umbruch eingestellt, bei WORDWRAP OFF ausgestellt und
bei WORDWRAP TOGGLE wird der jeweils aktuelle Zustand verändert, aus ON
wird also OFF und umgekehrt.
WORDWRAP dient zur Begrenzung der Zeilen. Wenn eine Zeile den mit MARGIN
eingestellten rechten Rand überschreitet, so wird das letzte Wort bei
eingeschaltetem Umbruch an den Anfang der nächsten Zeile gepackt und der
Cursor hinter dieses Wort plaziert.
MENUS
Eine der faszinierenden Möglichkeiten ist die individuelle Festlegung von
MENUS. Dies kann in der DME-startup-sequence s:.edrc geschehen.
Die Befehle dazu sind MENUON, MENUOFF, MENUADD, MENUDEL, MENUDELHDR und
MENUCLEAR. Wenn man sich eigene MENUS erstellt, sollte zuerst mit MENUON die
Menuleiste abgestellt werden, da sonst die weitere Bearbeitung sehr
verlangsamt wird. Als nächstes kann mit MENUADD ein Menupunkt addiert
werden. Dabei hat MENUADD drei Parameter. Der erste gibt den Menukopf an,
der zweite den Menupunkt und der dritte die auszuführende Befehlssequenz.
Die Menuköpfe sieht man, wenn man die rechte Maustaste in einem aktiven
Fenster drückt, die Menupunkte, wenn man den Mauszeiger mit gedrücktem
rechten Mausknopf auf einen Menukopf führt. Auswählen kann man einen
Menupunkt dann, indem man die linke Maustaste drückt.
Bei MENUADD sollte man sich im wesentlichen an die Regeln halten, die
COMMODORE für Programme auf dem AMIGA aufgestellt hat. Dazu gehört, daß
der erste Menukopf PROJEKT oder PROJECT heißt und alle wichtigen Operationen
enthält, die in allen Programmen immer wieder auftauchen, wie Laden und
Speichern eines Files und Beenden eines Programms.
Als dritter Befehl wird dann MENUON benutzt, um die Menuleiste zu
aktivieren.
Um nun den ganzen Vorgang ein wenig transparenter zu machen, gebe ich ein
Beispiel, wie eine solche Folge zur Erstellung eines Menus aussehen könnte.
MENUOFF
MENUADD `PROJEKT' `Laden' `IF m `SAVEOLD' ESCIMM `NEWFILE ''
MENUADD `PROJEKT' `Speichern' `SAVEOLD'
MENUADD `PROJEKT' `Speichern als' `ESCIMM `SAVEAS ''
MENUADD `PROJEKT' `Ende' `IF m `SAVEOLD' QUIT'
MENUADD `PROJEKT' `Abbruch' `QUIT'
MENUADD `AKTION' `Drucken' `SAVEAS prt:'
MENUADD `AKTION' `Neuer Filename' `ESCIMM `CHFILENAME ''
MENUON
Dazu eine Anmerkungen :
Einige der Befehle werden erst im folgenden besprochen. Trotzdem verwende
ich sie schon hier, damit eine endgültige Version präsentiert werden kann.
Natürlich können fast beliebig Befehle hinzugefügt werden, zumindest solange,
bis die Menuzeile oder einer der Menuunterpunkte voll ist.
Die restlichen drei Befehle dienen der Flurbereinigung. Mit
MENUDEL kopf punkt kann man den Menupunkt punkt im Menukopf kopf löschen.
Natürlich sollte dieser Punkt vorhanden sein. Mit MENUDELHDR kopf kann man
einen ganzen Kopf löschen und mit MENUCLEAR das ganze Menu.
KONTROLLEN
DME bietet eine Reihe von Abfragen. Die einfachste lautet IF bed aktion.
Dabei ist bed eine der gleich folgenden Bedingungen und aktion die unter
der Bedingung auszuführende Aktion. Es folgt nun eine Liste der Bedingungen :
t = in erster Zeile?
b = in letzter Zeile ?
l = in erster Spalte ?
r = in letzter Spalte, nur noch Blanks dahinter ?
m = wurde der Text modifiziert ?
i = im INSERTNODUS ?
x <=> n = der Cursor ist in der n.ten Spalte ( = ), entsprechend mit
größer ( > ) und kleiner ( < ) bzw entsprechende Kombinationen
davon ?
y <=> n = wie x <=> n, nur Abfrage auf Zeile.
cl = das Zeichen unter dem Cursor ist ein Kleinbuchstabe ( a - z ) ?
cu = das Zeichen unter dem Cursor ist ein Großbuchstabe ( A - Z ) ?
ca = das Zeichen unter dem Cursor ist ein alpha-numerisches Zeichen,
also Groß-, Kleinbuchstabe oder Ziffer ?
cn = das Zeichen unter dem Cursor ist eine Ziffer ( 0 - 9 ) ?
c <=> n = die ASCII-Darstellung des Zeichens unter dem Cursor wird
entsprechend der angegebenen Relation ( =, <, >, <=, => ) mit der
Zahl n ( dezimal ) verglichen.
Ein ! vor der Bedingung gilt als logisches NOT. Beispiele für die Abfrage
werden am Ende dieses Paragraphen erläutert, einige kann man schon in den
Beispielen für die Menus bewundern.
Als zweite Kontrollstruktur gibt es in DME den Befehl IFELSE bed dann sonst,
wobei bed eine der oben genannten Bedingungen ist, dann eine Befehlsreihe,
die ausgeführt wird, wenn die Bedingung wahr ist und sonst eine Befehlsreihe,
die ausgeführt wird, wenn die Bedingung falsch ist.
Die letzte Kontrollstruktur, die die oben aufgeführten Bedingungen benützt,
ist die while-Schleife WHILE bed bef. Dieser Befehl läßt sich wie folgt
beschreiben : Solange bed wahr ist, führe die Befehlsreihe bef aus.
Eine weiter Schleife benötigt etwas andere Bedingungen. Es ist dies der
Befehl REPEAT N bef. N ist entweder eine Zahl oder eine der folgenden
Bedingungen :
line = die aktuelle Zahl der Zeilen wird als Anzahl der Wiederholungen
benutzt,
lbot = die Zahl der Zeilen bis zum Ende wird als Anzahl der Wiederholungen
benutzt,
cleft = die aktuelle Spaltenzahl wird als Anzahl der Wiederholungen
benutzt,
cright = die Zahl der Spalten bis zum Ende der Zeile wird als Anzahl der
Wiederholungen benutzt,
tr = es wird solange bef wiederholt, bis der Cursor die nächsten
Tabulatorposition erreicht hat,
tb = wie tr, nur nach vorne.
Solange man CRTL-C nicht belegt hat, kann man damit eine Schleife
unterbrechen. Bei einigen Fehlersituationen wird eine mit REPEAT begonnene
Schleife abgebrochen, so etwa bei den Suchbefehlen, wenn der Suchstring
nicht gefunden wird. Eine -1 als N entspricht unendlich ( oder zumindest
der sehr großen Zahl FFFFFFFF im Sedezimalsystem ).
Ein Befehl, der eigentlich nichts mit Kontrollen zu tun hat, wird jetzt
trotzdem in diesem Abschnitt besprochen. Es ist dies der Befehl TLATE, der
hauptsächlich in Schleifenkonstruktionen benutzt wird. TLATE hat ein
Argument. Dies ist eine Zahl, optional mit Vorzeichen + oder -. TLATE mit
einer Zahl verwandelt das Zeichen unter dem Cursor in den Buchstaben, dessen
ASCII-Darstellung der Zahl entspricht. Falls TLATE mit einer vorzeichenbe-
hafteten Zahl aufgerufen wird, so wird zu der ASCII-Darstellung des Zeichens
unter dem Cursor das Argument je nach Vorzeichen addiert oder subtrahiert.
Nun ein paar Beispiele, die sowohl die Kontrollstrukturen als auch TLATE
etwas näher erläutern.
Bei den folgenden Befehlssequenzen ist es UNBEDINGT notwendig, daß diese
in einer Zeile stehen. Durch MORE kann es geschehen, daß es so aussieht, als
obe eine Befehlssequenz über mehrere Zeilen führt. Dies würde zu einem nicht
erwünschten Ergebnis in DME führen !
MAP `f1' `WLEFT IF c=34 RIGHT IF c=39 RIGHT IF c=96 RIGHT IF cl `TLATE -32' WHILE ca RIGHT'
Dieser Befehl belegt die Funktionstaste f1 mit einer Befehlssequenz, die den
ersten Buchstaben des vorigen Wortes in einen Großbuchstaben umwandelt.
MAP `f2' `WLEFT IF c=34 RIGHT IF c=39 RIGHT IF c=96 RIGHT IF cu `TLATE +32' WHILE ca RIGHT'
Diese Sequenz weist der Funktionstaste f2 eine Sequenz zu, die alle
Buchstaben des vorherigen Wortes in Kleinbuchstaben umwandelt.
MAP `f3' `IF c=34 RIGHT IF c=39 RIGHT IF c=96 RIGHT WHILE ca `IF cl `TLATE -32' RIGHT''
Die Taste f3 wird mit einer Befehlssequenz belegt, die alle folgenden
Buchstaben innerhalb des aktuellen Wortes zu Großbuchstaben macht.
MAP `f4' `IFELSE t `RIGHT LEFT' `UNBLOCK BLOCK BLOCK UP BMOVE UNBLOCK' '
Diese Befehlszeile bewirkt, daß f4 mit einer Befehlssequenz belegt ist, die
die aktuelle Zeile um eine Zeile im Text nach oben befördert.
Die Befehle können ausprobiert werden, indem auf der Zeile mit der
gewünschten Befehlssequenz zweimal der Befehl BLOCK eingegeben wird und dann
der Befehl BSOURCE. Dies bringt die Zeile, die im Moment markiert ist, zur
Ausführung. Natürlich muß dann noch die jeweilige Taste gedrückt werden, die
belegt wurde, um einen sichtbaren Effekt zu erzielen.
REFERENZEN
REF ist ein recht komplexer Befehl, der nur versierten DME-Benutzern zu
empfehlen ist. Die Idee hinter REF ist die folgende : Wenn man Programme
entwickelt, so möchte man unter Umständen einen Kommentarfile anlegen, so
daß die Kommentare nicht im Quelltext des Programmes stehen. Dies soll mit
REF erleichtert werden.
Für REF müssen zwei weitere Files angelegt werden. Zuerst ist da der File
DME.REFS, der entweder im aktuellen Directory, auf S: oder auf DF0:, DF1:,
DF2: oder DF3: steht ( in dieser Reihenfolge ). In diesem File stehen die
Quellenangaben, die DME benutzt, um den Referenztext zu finden. Die Syntax
der Quellenangaben ist die folgende :
(keyword) (#lines) (file) (searchstring)
oder
(keyword) (endstring) (file) (searchstring)
keyword ist das Referenzwort,
#lines die Anzahl der Referenzzeilen,
file der Namen des Files, aus dem die Referenzzeilen genommen werden,
searchstring ist der String, nach dem gesucht wird in file.
Natürlich muß auch die Datei bereits eingetippt sein, aus der die Referenz-
zeilen genommen werden.
Die Vorgehensweise läßt sich wohl am besten in einem Beispiel erläutern :
Nehmen wir einmal an, wir haben in einem File das Wort
AMIGA
eingetippt.
In dem File DME.DREF steht die Zeile
AMIGA 3 meine_refs.txt AMIGA
und in dem File meine_refs.txt stehen die Zeilen
ATARI Der ATARI ST ist ein gewöhnlicher Computer, der mit
Bomben um sich schmeißt und trotz der hohen Rechenleistung
seiner CPU kein Multitasking zuläßt.
AT Der IBM AT ist ein Rechner, der neben einem miesen
Betriebssystem, nämlich MS-DOS, noch eine schlechte CPU
bestitzt.
AMIGA Der COMMODORE AMIGA ist ein sehr guter Rechner. Er
vereinigt große Rechenleistung mit einem hervoragenden
MULTITASKING-Betriebssystem zu einem günstigen Preis.
VAX Die VAX von DEC bietet ebenfalls ein Rechner mit hoher
Rechenleistung und MULTITASKING. Nur der hohe Preis vergällt
Amateuren diesen Rechner.
Wenn man nun im bearbeiteten Text über dem Wort AMIGA steht und den Befehl
REF eingibt, so wird zuerst der File DME.REFS eingeladen und dort das
Wort AMIGA gesucht, daß am Anfang der Zeile stehen muß. Aus dieser Zeile
wird dann der Filename extrahiert, in dem die Referenzzeilen stehen. Dieser
File wird geladen und gemäß den Angaben aus DME.REFS wird der Suchbegriff
gesucht. Auch dieser Begriff muß am Anfang der Zeile stehen, um von DME
gefunden zu werden ! Nach einer erfolgreichen Suche wird entweder die
Anzahl der Zeilen oder bis zu einem in DME.REFS gemäß der Syntax bestimmten
Suchbegriff in einem kleinen Fenster ausgegeben.
Bei uns würde dort in einem kleinen Fenster auch das gewünschte stehen.
Ein weiteres mögliches Einsatzgebiet des REF-Befehls könnte eine Online-
Hilfe sein. Aber dies sollte sich jeder selbst überlegen.
DIVERSES
Es folgen nun einige Befehle, die nicht in einen der vorigen Paragraphen
passten, aber trotzdem eine paar Zeilen wert sind.
ESCIMM arg ist ein wichtiger Befehl für die Belegung von Tasten. Wenn ESCIMM
aufgerufen wird, so wird die Kommandoeingabezeile geöffnet und das Argument
arg hineingeschrieben. Der Benutzer muß dann den Rest von Hand eingeben.
Dies ist sinnvoll z.B. bei Befehlen, die ein Argument haben. Als Beispiel
eignet sich hier FIND. Wenn man FIND auf eine Taste legt, so ist das
Problem : Woher bekomme ich das Argument für FIND ? Als Ausweg bietet sich
ESCIMM an. Man belegt eine Taste wie folgt :
MAP `c-s' `ESCIMM `FIND ''
Wenn nun CRTL-s aufgerufen wird, so erscheint FIND als Prompt in der
Befehlseingabezeile.
Mit EXECUTE comm kann man ein DOS-Kommando abarbeiten. Die Ausgabe erscheint
dann in dem Fenster, aus dem DME aufgerufen wurde. Beispiel :
EXECUTE `DIR S:'
Die beiden Befehle PING n und PONG n dienen zur Festlegung von unsichtbaren
Markierungen im Text. Mit PING n wird eine solche Markierung gesetzt, wobei
n zwischen 0 und 9 sein darf. Mit PONG n wird eine vorher vereinbarte
Markierung angesprungen.
Mit QUIT wird die Bearbeitung des Textes abgebrochen. Aber Vorsicht : Der
Text wird dann nicht abgespeichert. Dagegen wird bei Betätigung des Schließ-
Gagdets der Benutzer gewarnt und muß das Gadget ein zweites Mal betätigen, um
DME verlassen zu können.
Mit c-esc kann die letzte Befehlseingabe wieder in die Befehlseingabezeile
geholt werden. Daher sollte c-esc nicht anders belegt werden !
Mit SAVEMAP name und SAVESMAP name können die Tastaturbelegungen in der
Datei name abgespeichert werden. Der Unterschied zwischen dne beiden Befehlen
liegt darin, daß SAVESMAP die voreingestellten Belegungen mitabspeichert,
SAVEMAP nicht. Mit UNMAP taste kann eine Taste von der Belegung befreit
werden.
SCHLUSS
Ich hoffe, die Benutzung von DME wird durch diese paar Zeilen etwas
vereinfacht. Vielleicht noch ein paar Anmerkungen :
Zu DME werden unter dem Directory support einige Tastaturbelegungen mitge-
liefert. Man sollte sich diese aber genau anschauen, bevor man sie übernimmt,
da einiges nicht sehr glücklich gelöst ist.
Wenn man genug von ED hat, so sollte man sich DME als ED unter dem Directory
C: abspeichern. Dann kann man zwar ED nicht mehr benutzen ( dies ist kein
großer Verlust ! ), aber dafür ist es bequemer. Außerdem gibt es einige
Programme, die den Editor ED aufrufen. Wenn sich dahinter nun DME verbirgt,
so merkt dies das Programm natürlich nicht, aber man kann immerhin mit einem
guten Editor arbeiten.
Einige Befehle habe ich aus Zeitgründen nicht beschreiben können. Aber ich
glaube, daß diese nicht so sehr wichtig sind. ( Wohl, weil ich sie noch
nie benutzt habe. ) Die Beschreibung der ARexx-Möglichkeiten habe ich
ausgelassen, da ich ARexx ( noch ) nicht besitze. Wer ARexx hat, kann ja mal
ein paar Zeilen dazu schreiben und sie mir schicken. Ich würde mich sehr
darüber freuen. Vielleicht wäre es ja auch möglich, daß der(die)jenige das
Handbuch an dieser Stelle fortsetzt.
Viel Spaß mit DME und der GetIt
Peter